<?php

abstract class RDO extends PDO implements IRDOProxy {
    
    public function __construct($dsn, $username = "", $password = "", $driver_options = array()) {
        parent::__construct($dsn, $username, $password, $driver_options);
        $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array('RDOStatement', array($this)));
    }

    //Insert from 1 RTO
    public abstract function insert(&$rto);

    //Delete from 1 RTO
    public abstract function delete(&$rto);

    //Update from 1 RTO
    public abstract function update(&$rto);

    //mapping object by primary key
    public abstract function map(&$rto);

    public abstract function convertToCountStatement($sql);
    
    public function makeConnection() {
        return $this;
    }
    
    
    
}
